package org.ruanjj.stack;

import java.util.Stack;

public class Solution {
    public int evalRPN(String[] tokens) {
        Stack<String> stack  = new Stack();
        int n = tokens.length;
        for(int i = 0; i < n; i++){
            switch (tokens[i]){
                case "+":{
                    int res = Integer.parseInt(stack.pop()) + Integer.parseInt(stack.pop());
                    stack.add(String.valueOf(res));
                   // break;
                }

                case "-":{
                    int temp = Integer.parseInt(stack.pop());
                    int res = Integer.parseInt(stack.pop()) - temp;
                    stack.add(String.valueOf(res));
                  //  break;
                }

                case "*":{
                    int res = Integer.parseInt(stack.pop()) * Integer.parseInt(stack.pop());
                    stack.add(String.valueOf(res));
                 //   break;
                }

                case "/":{
                    int temp = Integer.parseInt(stack.pop());
                    int res = Integer.parseInt(stack.pop()) / temp;
                    stack.add(String.valueOf(res));
                 //   break;
                }

                default:{
                    stack.add(String.valueOf(tokens[i]));
                 //   break;
                }
            }
        }
        return Integer.parseInt(stack.pop());
    }
}
